﻿using System.Collections.Generic;
using System.Runtime.InteropServices;

using Microsoft.VisualStudio.Shell.Interop;

namespace Microsoft.WowAddonStudio.Services
{
    /// <summary>
    /// Manages the library of registered project hierarchies.
    /// </summary>
    [Guid("A921FEC7-CAA8-4C0C-8633-4250C6A52274")]
    public interface ILibraryManager
    {
        /// <summary>
        /// Registers a hierarchy in the library.
        /// </summary>
        /// <param name="hierarchy">The hierarchy to register.</param>
        void RegisterHierarchy(IVsHierarchy hierarchy);

        /// <summary>
        /// Unregisters a hierarchy in the library.
        /// </summary>
        /// <param name="hierarchy">The hierarchy to unregister.</param>
        void UnregisterHierarchy(IVsHierarchy hierarchy);
    }
}
